package com.jiangxiaofei.citycloud.mvp;

import android.content.Context;

import com.jiangxiaofei.citycloud.bean.FreshFruitCassifyBean;
import com.jiangxiaofei.citycloud.bean.FreshFruitHomeBean;
import com.jiangxiaofei.citycloud.bean.GoodDetailBean;
import com.jiangxiaofei.citycloud.bean.GoodIdBean;
import com.jiangxiaofei.citycloud.bean.GoodListBean;
import com.jiangxiaofei.citycloud.bean.NeedBean;
import com.jiangxiaofei.citycloud.httpUtil.BaseView;
import com.jiangxiaofei.citycloud.httpUtil.OnLoadDataIm;
import com.jiangxiaofei.citycloud.param.FleaGoodListParam;
import com.jiangxiaofei.citycloud.param.FleaNeedListParam;
import com.jiangxiaofei.citycloud.param.GoodsPublicParam;
import com.jiangxiaofei.citycloud.param.PutNeedParam;
import com.jiangxiaofei.citycloud.param.SearchParam;

import java.util.List;

/**
 * @author: JiangXFei
 * @date: 2017/11/21 0021
 * @content: 果蔬生鲜
 */

public class FreshConstant {
    /**
     * 获取水果生鲜主页
     */
    public interface GetFreshHomeModel {
        void getFreshHome(Context mContext, OnLoadDataIm callback);
    }

    public interface GetFreshHomeView extends BaseView {
        void getFreshHomeOnSuccess(List<FreshFruitHomeBean> homeBeans);
    }

    public interface GetFreshHomePersenter {
        void getFreshHome();
    }

    /**
     * 获取水果生鲜所有分类
     */

    public interface GetFreshCassifyModel {
        void getFreshCassify(Context mContext, int id, OnLoadDataIm callback);
    }

    public interface GetFreshCassifyView extends BaseView {
        int getFreshCassifyId();

        void getFreshCassifyOnSuccess(List<FreshFruitCassifyBean> cassifyBeans);
    }

    public interface GetFreshCassifyPersenter {
        void getFreshCassify();
    }

    /**
     * 发布商品新商品
     */
    public interface PutFreshGoodModel {
        void PutFreshGood(Context mContext, GoodsPublicParam param, OnLoadDataIm callbak);
    }

    public interface PutFreshGoodView extends BaseView {
        GoodsPublicParam getFreshGoodParam();

        void putFreshGoodOnSuccess(List<GoodIdBean> o);
    }

    public interface PutFreshGoodPersenter {
        void putFreshGood();
    }

    /**
     * 获取商品详情
     */

    public interface GetGoodDetailModel {
        void getGoodDetail(Context mContext, int id, OnLoadDataIm callback);
    }

    public interface GetGoodDetailView extends BaseView {
        int getGoodDetailId();

        void getGoodDetailSuccess(GoodDetailBean bean);
    }

    public interface GetGoodDetailPersenter {
        void getGoodDetail();
    }

    /**
     * 发布果蔬需求
     */

    public interface PutFreshNeedModel {
        void putFreshNeed(Context mContext, PutNeedParam param, OnLoadDataIm callback);
    }

    public interface PutFreshNeedView extends BaseView {
        PutNeedParam PutFreshNeedParam();

        void PutNeedSuccess(GoodIdBean idBean);
    }

    public interface PutFreshNeedPersenter {
        void putFreshhNeed();
    }

    /**
     * 查看果蔬需求详情页
     */
    public interface GetFreshNeedDetailModel {
        void getNeedDetail(Context mContext, int id, OnLoadDataIm callback);
    }

    public interface GetFreshNeedDetailView extends BaseView {
        int getNeedDetailId();

        void getNeedSuccess(NeedBean needBean);
    }

    public interface GetFreshNeedDetailPersenter {
        void getNeedDetail();
    }

    /**
     * 获取果蔬商品列表页
     */
    public interface GetFreshGoodListModel {
        void getGoodList(Context mContext, FleaGoodListParam param, OnLoadDataIm callback);
    }

    public interface GetFreshGoodListView extends BaseView {
        void getListOnSuccess(List<GoodListBean> bean);

        FleaGoodListParam getGoodListParam();
    }

    public interface GetFreshGoodListPersenter {
        void getGoodList();
    }

    /**
     * 获取果蔬需求列表页
     */
    public interface GetFreshNeedListModel {
        void getNeedList(Context mContext, FleaNeedListParam param, OnLoadDataIm callback);
    }

    public interface GetFreshNeedListView extends BaseView {
        FleaNeedListParam getNeedListParam();

        void getNeedListSuccess(List<NeedBean> bean);
    }

    public interface GetFreshNeedListPersenter {
        void getNeedList();
    }

    /**
     * 商品搜索
     */
    public interface SearchGoodListModel {
        void searchGoods(Context mContext, SearchParam param, OnLoadDataIm callback);
    }

    public interface SearchGoodListView extends BaseView {
        SearchParam getSearchParam();

        void searchGoodsSuccess(List<GoodListBean> goodListBeans);
    }

    public interface SearchGoodListPersenter {
        void searchGoods();
    }

    /**
     * 需求搜索
     */
    public interface SearchNeedListModel {
        void searchNeeds(Context mContext, SearchParam param, OnLoadDataIm callback);
    }

    public interface SearchNeedListView extends BaseView {
        SearchParam getSearchNeedsParam();
        void  searchNeedsSuccess(List<NeedBean> needBeanList);
    }

    public interface SearchNeedListPersenter {
        void SearchNeeds();
    }
}
